#pragma once

#include "StdAfx.h"
#include "RaceState.h"
#include <vector>


class AnimatedImage;
class IRaceController;
class IRenderingManager;
class IMeshStorage;

class Countdown : public IRaceState
{
private:
   IRaceController& m_raceController;
   IRenderingManager& m_renderingManager;
   AnimatedImage& m_polePositionLight;

   std::vector<UINT> m_countdownTimer;
   UINT m_timerIdx;
   float m_time;

public:
   Countdown(IRaceController& raceController, 
             IRenderingManager& renderingManager,
             IMeshStorage& meshStorage);
   ~Countdown(void);

   void update(float timeElapsed);

   void activate();

   void deactivate();

   void processInput(UCHAR* keyBuffer, float timeElapsed);
};
